<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Symbol 独一无二的值，随机生成唯一的id
        let s = Symbol();
        console.log(s);

        // 可以给标识符；
        // 标识符 类似 注释 没有实际的意义；
        let s2 = Symbol('key');
        let s3 = Symbol('key');
        console.log(s2 === s3); // false

        // 使用场景
        // 1.模拟私有成员
        let obj = {
            name: '战三',
            [Symbol()]:  18,
            [Symbol()]: '100kg'
        }
        console.log(obj[Symbol()]); //undefined  是新的Symbol值了，拿不到对象中的Symbol值
        let result = Object.getOwnPropertySymbols(obj);//返回的是数组，数组成员为对象中的symbol类型的键名
        console.log(result);

        let rs1 = Object.getOwnPropertySymbols(obj)[0];
        let rs2 = Object.getOwnPropertySymbols(obj)[1];
        console.log(obj[rs1]);// 18
        console.log(obj[rs2]);// 100kg
        console.log(obj);

    </script>
</body>
</html>